package com.ailesson.video.model.req;


import com.ailesson.common.reply.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 课程视频
 * 
 * @author mac
 * @email mac@gmail.com
 * @date 2024-10-02 10:31:00
 */
@Schema(name = "分页查询条件")
@Data
public class VideoQueryReq extends PageParam {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@Schema(name = "id", description = "主键", type = "Long")
    private Long id;
	/**
	 * 课程ID
	 */
	@Schema(name = "courseId", description = "课程ID", type = "Long")
    private Long courseId;
	/**
	 * 章节ID
	 */
	@Schema(name = "chapterId", description = "章节ID", type = "Long")
    private Long chapterId;
	/**
	 * 节点名称
	 */
	@Schema(name = "title", description = "节点名称", type = "String")
    private String title;
	/**
	 * 云端视频资源
	 */
	@Schema(name = "videoSourceId", description = "云端视频资源", type = "String")
    private String videoSourceId;
	/**
	 * 原始文件名称
	 */
	@Schema(name = "videoOriginalName", description = "原始文件名称", type = "String")
    private String videoOriginalName;
	/**
	 * 排序字段
	 */
	@Schema(name = "sort", description = "排序字段", type = "Integer")
    private Integer sort;
	/**
	 * 播放次数
	 */
	@Schema(name = "playCount", description = "播放次数", type = "Long")
    private Long playCount;
	/**
	 * 是否可以试听：0收费 1免费
	 */
	@Schema(name = "isFree", description = "是否可以试听：0收费 1免费", type = "Integer")
    private Integer isFree;
	/**
	 * 视频时长（秒）
	 */
	@Schema(name = "duration", description = "视频时长（秒）", type = "Float")
    private Float duration;
	/**
	 * 视频源文件大小（字节）
	 */
	@Schema(name = "size", description = "视频源文件大小（字节）", type = "Long")
    private Long size;
	/**
	 * 乐观锁
	 */
	@Schema(name = "version", description = "乐观锁", type = "Long")
    private Long version;
	/**
	 * 状态
	 */
	@Schema(name = "status", description = "状态", type = "Integer")
    private Integer status;

}
